package com.forum.service;

/**
 * 点赞服务接口
 */
public interface LikeService {
    
    /**
     * 点赞（帖子或评论）
     * @param userId 用户ID
     * @param targetId 目标ID
     * @param type 类型 1-帖子 2-评论
     * @return 操作结果 true-点赞成功 false-取消点赞
     */
    boolean like(Long userId, Long targetId, Integer type);
    
    /**
     * 判断用户是否已点赞
     * @param userId 用户ID
     * @param targetId 目标ID
     * @param type 类型 1-帖子 2-评论
     * @return 是否已点赞
     */
    boolean hasLiked(Long userId, Long targetId, Integer type);
    
    /**
     * 获取目标点赞数量
     * @param targetId 目标ID
     * @param type 类型 1-帖子 2-评论
     * @return 点赞数量
     */
    int getLikeCount(Long targetId, Integer type);
} 